/**
 * 
 */
package com.serviceprovider.business.module.admin.transaction.model;

import java.io.Serializable;
import java.util.Date;

/**
 * The Class TransactionTarget.
 * 
 * @author mrduongnv@gmail.com
 */
public class TransactionTarget implements Serializable {

    /** The Constant serialVersionUID. */
    private static final long serialVersionUID = 100L;

    /** The transaction_id. */
    private Integer transaction_id;

    /** The user_id. */
    private Integer user_id;

    /** The customer_id. */
    private Integer customer_id;

    /** The transaction_amount. */
    private Integer transaction_amount;

    /** The transaction_status_id. */
    private Integer transaction_status_id;

    /** The service_fee. */
    private Integer service_fee;

    /** The self_fee. */
    private Integer self_fee;

    /** The tax_prep_fee. */
    private Integer tax_prep_fee;

    /** The electronic_prep_fee. */
    private Integer electronic_prep_fee;

    /** The electronic_filling_fee. */
    private Integer electronic_filling_fee;

    /** The service_bureau_fee. */
    private Integer service_bureau_fee;

    /** The fed_bank_product_fee. */
    private Integer fed_bank_product_fee;

    /** The state_product_fee. */
    private Integer state_product_fee;

    /** The custom_label_1_value. */
    private Integer custom_label_1_value;

    /** The custom_label_2_value. */
    private Integer custom_label_2_value;

    /** The customer_balance. */
    private Integer customer_balance;

    /** The payee_1_amount. */
    private Integer payee_1_amount;

    /** The payee_2_amount. */
    private Integer payee_2_amount;

    /** The payee_3_amount. */
    private Integer payee_3_amount;

    /** The payee_4_amount. */
    private Integer payee_4_amount;

    /** The batch_id. */
    private Integer batch_id;

    /** The data_load_date. */
    private Date data_load_date;

    /** The receiver_name. */
    private String receiver_name;

    /** The originator_name. */
    private String originator_name;

    /** The customer_ssn. */
    private Long customer_ssn;

    /** The trace_number. */
    private String trace_number;

    /** The processed. */
    private boolean processed;

    /**
     * Gets the transaction_id.
     * 
     * @return the transaction_id
     */
    public Integer getTransaction_id() {
        return this.transaction_id;
    }

    /**
     * Sets the transaction_id.
     * 
     * @param transactionId
     *            the transaction_id to set
     */
    public void setTransaction_id(Integer transactionId) {
        this.transaction_id = transactionId;
    }

    /**
     * Gets the user_id.
     * 
     * @return the user_id
     */
    public Integer getUser_id() {
        return this.user_id;
    }

    /**
     * Sets the user_id.
     * 
     * @param userId
     *            the user_id to set
     */
    public void setUser_id(Integer userId) {
        this.user_id = userId;
    }

    /**
     * Gets the customer_id.
     * 
     * @return the customer_id
     */
    public Integer getCustomer_id() {
        return this.customer_id;
    }

    /**
     * Sets the customer_id.
     * 
     * @param customerId
     *            the customer_id to set
     */
    public void setCustomer_id(Integer customerId) {
        this.customer_id = customerId;
    }

    /**
     * Gets the transaction_amount.
     * 
     * @return the transaction_amount
     */
    public Integer getTransaction_amount() {
        return this.transaction_amount;
    }

    /**
     * Sets the transaction_amount.
     * 
     * @param transactionAmount
     *            the transaction_amount to set
     */
    public void setTransaction_amount(Integer transactionAmount) {
        this.transaction_amount = transactionAmount;
    }

    /**
     * Gets the transaction_status_id.
     * 
     * @return the transaction_status_id
     */
    public Integer getTransaction_status_id() {
        return this.transaction_status_id;
    }

    /**
     * Sets the transaction_status_id.
     * 
     * @param transactionStatusId
     *            the transaction_status_id to set
     */
    public void setTransaction_status_id(Integer transactionStatusId) {
        this.transaction_status_id = transactionStatusId;
    }

    /**
     * Gets the service_fee.
     * 
     * @return the service_fee
     */
    public Integer getService_fee() {
        return this.service_fee;
    }

    /**
     * Sets the service_fee.
     * 
     * @param serviceFee
     *            the service_fee to set
     */
    public void setService_fee(Integer serviceFee) {
        this.service_fee = serviceFee;
    }

    /**
     * Gets the self_fee.
     * 
     * @return the self_fee
     */
    public Integer getSelf_fee() {
        return this.self_fee;
    }

    /**
     * Sets the self_fee.
     * 
     * @param selfFee
     *            the self_fee to set
     */
    public void setSelf_fee(Integer selfFee) {
        this.self_fee = selfFee;
    }

    /**
     * Gets the tax_prep_fee.
     * 
     * @return the tax_prep_fee
     */
    public Integer getTax_prep_fee() {
        return this.tax_prep_fee;
    }

    /**
     * Sets the tax_prep_fee.
     * 
     * @param taxPrepFee
     *            the tax_prep_fee to set
     */
    public void setTax_prep_fee(Integer taxPrepFee) {
        this.tax_prep_fee = taxPrepFee;
    }

    /**
     * Gets the electronic_prep_fee.
     * 
     * @return the electronic_prep_fee
     */
    public Integer getElectronic_prep_fee() {
        return this.electronic_prep_fee;
    }

    /**
     * Sets the electronic_prep_fee.
     * 
     * @param electronicPrepFee
     *            the electronic_prep_fee to set
     */
    public void setElectronic_prep_fee(Integer electronicPrepFee) {
        this.electronic_prep_fee = electronicPrepFee;
    }

    /**
     * Gets the electronic_filling_fee.
     * 
     * @return the electronic_filling_fee
     */
    public Integer getElectronic_filling_fee() {
        return this.electronic_filling_fee;
    }

    /**
     * Sets the electronic_filling_fee.
     * 
     * @param electronicFillingFee
     *            the electronic_filling_fee to set
     */
    public void setElectronic_filling_fee(Integer electronicFillingFee) {
        this.electronic_filling_fee = electronicFillingFee;
    }

    /**
     * Gets the service_bureau_fee.
     * 
     * @return the service_bureau_fee
     */
    public Integer getService_bureau_fee() {
        return this.service_bureau_fee;
    }

    /**
     * Sets the service_bureau_fee.
     * 
     * @param serviceBureauFee
     *            the service_bureau_fee to set
     */
    public void setService_bureau_fee(Integer serviceBureauFee) {
        this.service_bureau_fee = serviceBureauFee;
    }

    /**
     * Gets the fed_bank_product_fee.
     * 
     * @return the fed_bank_product_fee
     */
    public Integer getFed_bank_product_fee() {
        return this.fed_bank_product_fee;
    }

    /**
     * Sets the fed_bank_product_fee.
     * 
     * @param fedBankProductFee
     *            the fed_bank_product_fee to set
     */
    public void setFed_bank_product_fee(Integer fedBankProductFee) {
        this.fed_bank_product_fee = fedBankProductFee;
    }

    /**
     * Gets the state_product_fee.
     * 
     * @return the state_product_fee
     */
    public Integer getState_product_fee() {
        return this.state_product_fee;
    }

    /**
     * Sets the state_product_fee.
     * 
     * @param stateProductFee
     *            the state_product_fee to set
     */
    public void setState_product_fee(Integer stateProductFee) {
        this.state_product_fee = stateProductFee;
    }

    /**
     * Gets the custom_label_1_value.
     * 
     * @return the custom_label_1_value
     */
    public Integer getCustom_label_1_value() {
        return this.custom_label_1_value;
    }

    /**
     * Sets the custom_label_1_value.
     * 
     * @param customLabel_1Value
     *            the custom_label_1_value to set
     */
    public void setCustom_label_1_value(Integer customLabel_1Value) {
        this.custom_label_1_value = customLabel_1Value;
    }

    /**
     * Gets the custom_label_2_value.
     * 
     * @return the custom_label_2_value
     */
    public Integer getCustom_label_2_value() {
        return this.custom_label_2_value;
    }

    /**
     * Sets the custom_label_2_value.
     * 
     * @param customLabel_2Value
     *            the custom_label_2_value to set
     */
    public void setCustom_label_2_value(Integer customLabel_2Value) {
        this.custom_label_2_value = customLabel_2Value;
    }

    /**
     * Gets the customer_balance.
     * 
     * @return the customer_balance
     */
    public Integer getCustomer_balance() {
        return this.customer_balance;
    }

    /**
     * Sets the customer_balance.
     * 
     * @param customerBalance
     *            the customer_balance to set
     */
    public void setCustomer_balance(Integer customerBalance) {
        this.customer_balance = customerBalance;
    }

    /**
     * Gets the payee_1_amount.
     * 
     * @return the payee_1_amount
     */
    public Integer getPayee_1_amount() {
        return this.payee_1_amount;
    }

    /**
     * Sets the payee_1_amount.
     * 
     * @param payee_1Amount
     *            the payee_1_amount to set
     */
    public void setPayee_1_amount(Integer payee_1Amount) {
        this.payee_1_amount = payee_1Amount;
    }

    /**
     * Gets the payee_2_amount.
     * 
     * @return the payee_2_amount
     */
    public Integer getPayee_2_amount() {
        return this.payee_2_amount;
    }

    /**
     * Sets the payee_2_amount.
     * 
     * @param payee_2Amount
     *            the payee_2_amount to set
     */
    public void setPayee_2_amount(Integer payee_2Amount) {
        this.payee_2_amount = payee_2Amount;
    }

    /**
     * Gets the payee_3_amount.
     * 
     * @return the payee_3_amount
     */
    public Integer getPayee_3_amount() {
        return this.payee_3_amount;
    }

    /**
     * Sets the payee_3_amount.
     * 
     * @param payee_3Amount
     *            the payee_3_amount to set
     */
    public void setPayee_3_amount(Integer payee_3Amount) {
        this.payee_3_amount = payee_3Amount;
    }

    /**
     * Gets the payee_4_amount.
     * 
     * @return the payee_4_amount
     */
    public Integer getPayee_4_amount() {
        return this.payee_4_amount;
    }

    /**
     * Sets the payee_4_amount.
     * 
     * @param payee_4Amount
     *            the payee_4_amount to set
     */
    public void setPayee_4_amount(Integer payee_4Amount) {
        this.payee_4_amount = payee_4Amount;
    }

    /**
     * Gets the batch_id.
     * 
     * @return the batch_id
     */
    public Integer getBatch_id() {
        return this.batch_id;
    }

    /**
     * Sets the batch_id.
     * 
     * @param batchId
     *            the batch_id to set
     */
    public void setBatch_id(Integer batchId) {
        this.batch_id = batchId;
    }

    /**
     * Gets the data_load_date.
     * 
     * @return the data_load_date
     */
    public Date getData_load_date() {
        return this.data_load_date;
    }

    /**
     * Sets the data_load_date.
     * 
     * @param dataLoadDate
     *            the data_load_date to set
     */
    public void setData_load_date(Date dataLoadDate) {
        this.data_load_date = dataLoadDate;
    }

    /**
     * Gets the receiver_name.
     * 
     * @return the receiver_name
     */
    public String getReceiver_name() {
        return this.receiver_name;
    }

    /**
     * Sets the receiver_name.
     * 
     * @param receiverName
     *            the receiver_name to set
     */
    public void setReceiver_name(String receiverName) {
        this.receiver_name = receiverName;
    }

    /**
     * Gets the originator_name.
     * 
     * @return the originator_name
     */
    public String getOriginator_name() {
        return this.originator_name;
    }

    /**
     * Sets the originator_name.
     * 
     * @param originatorName
     *            the originator_name to set
     */
    public void setOriginator_name(String originatorName) {
        this.originator_name = originatorName;
    }

    /**
     * Gets the customer_ssn.
     * 
     * @return the customer_ssn
     */
    public Long getCustomer_ssn() {
        return this.customer_ssn;
    }

    /**
     * Sets the customer_ssn.
     * 
     * @param customerSsn
     *            the customer_ssn to set
     */
    public void setCustomer_ssn(long customerSsn) {
        this.customer_ssn = customerSsn;
    }

    /**
     * Gets the trace_number.
     * 
     * @return the trace_number
     */
    public String getTrace_number() {
        return this.trace_number;
    }

    /**
     * Sets the trace_number.
     * 
     * @param traceNumber
     *            the trace_number to set
     */
    public void setTrace_number(String traceNumber) {
        this.trace_number = traceNumber;
    }

    /**
     * Checks if is processed.
     * 
     * @return the processed
     */
    public boolean isProcessed() {
        return this.processed;
    }

    /**
     * Sets the processed.
     * 
     * @param processed
     *            the processed to set
     */
    public void setProcessed(boolean processed) {
        this.processed = processed;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null || !(obj instanceof TransactionTarget)) {
            return false;
        }
        TransactionTarget b = (TransactionTarget) obj;
        boolean eq = (transaction_id == null && b.transaction_id == null)
                || (transaction_id != null && transaction_id.equals(b.transaction_id));
        if (!eq) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int prime = 31;
        int result = 1;
        result = prime * result + ((transaction_id == null) ? 0 : transaction_id.hashCode());
        return result;
    }
}
